home *** CD-ROM | disk | FTP | other *** search
/ Amiga Inside! / Amiga FD Inside (1995)(Ultramax).iso / berndspd / musiktools / mpmaster / español / mpmaster.doc < prev    next >
Text File  |  1994-06-28  |  27KB  |  537 lines

  1.  
  2.      MIDI Packet Master  © 1993-94 WareSoft  Todos los derechos reservados
  3.                     Programado por Antonio J. Pomar Rosselló
  4.  
  5.  
  6.  
  7. DISTRIBUCION
  8.  
  9.    Este programa es FreeWare. Esto  significa  que el programa  puede  circular
  10. libremente  siempre que se incluyan todos los ficheros  asociados al  programa.
  11. Está  prohibido  utilizar el programa para fines comerciales, o sea que solo se
  12. pueden  cargar los gastos normales de copia y envio que se cargan habitualmente
  13. en las librerias de Dominio Público.
  14.  
  15.    El paquete completo de distribución en castellano comprende:
  16.  
  17.     MPMaster        Este es el programa ejecutable.
  18.     MPMaster.DOC        Es el fichero que estás leyendo ahora.
  19.     MPMaster.HISTORIA   Explica las versiones que han aparecido hasta
  20.                 la fecha de distribución del paquete.
  21.     MPMaster.ESQUEMA    Esquema de un interface MIDI de bajo costo.
  22.     little 7        Una fuente ideal para usar como fuente por
  23.                 defecto del sistema en pantallas de alta
  24.                 resolución no entrelazadas.
  25.     
  26.    El autor  del  programa  no acepta ninguna  responsabilidad  sobre cualquier
  27. perjuicio  que puede  suponer el uso  o abuso del  programa,  ni ofrece ninguna
  28. garantia  sobre el programa y sus capacidades. Tampoco se garantiza  nada sobre
  29. la precisión  o  estilo   literario  de  este  documento  ni  se acepta ninguna
  30. responsabilidad sobre las consecuencias que puede acarrear su lectura.
  31.  
  32.    Se reconocen  todas las marcas registradas, marcas  comerciales y Copyrights
  33. de los productos mencionados en este documento.
  34.  
  35.    Junto con  el programa se  incluye el esquema  de un interface MIDI barato y
  36. que  funciona  desde hace  más  de  6  años  (realizado  originalmente para  un
  37. secuenciador  MIDI  que  programé  en  ensamblador  para  el  Spectrum +3).  El
  38. interface  es muy pequeño,  tiene aislamiento por  optoacoplador e icorpora una
  39. entrada y una salida. No acepto ninguna responsabilidad sobre las consecuencias
  40. del  montaje y uso  del interface MIDI.  Por otro lado hay en estos  momentos 3
  41. interfaces como  el del esquema  ya montados y que funcionan sin problemas.  El
  42. circuito no necesita placa  de circuito  impreso  ya que  es tan  sencillo  que
  43. cabe  en la caja  del conector  de 25 patillas  que va al port serie (cuando lo
  44. diseñé para el  Spectrum +3 conseguí  meter todo el interface en  la caja de un
  45. conector de 9 patillas).
  46.  
  47.    Queda prohibido el uso del esquema del interface MIDI para usos comerciales,
  48. por lo que solo está permitida la construcción de éste para uso personal.
  49.  
  50.  
  51.  
  52. REQUERIMIENTOS
  53.  
  54.    Este programa necesita WorkBench 2.04  (o sea, versión 37)  o  superior para
  55. funcionar. Además en LIBS:  tiene que estar la  asl.library,  que viene  con el
  56. sistema operativo, para el requester de ficheros.
  57.  
  58.    Es imprescindible  tener un  interface MIDI para conectar el equipo MIDI que
  59. quieras usar  con el Amiga.  En caso de que  no tengas interface MIDI  mira  el
  60. esquema que se incluye con el programa para construirte un interface sencillo.
  61.  
  62.  
  63.  
  64. INTRODUCCION
  65.  
  66.    Este programa se llama  MIDI Packet Master (MPMaster para abreviar)  y sirve
  67. para transferir  samples entre el  Amiga y un dispositivo  MIDI  (originalmente
  68. programado para usarlo  con un sintetizador Yamaha SY85)  que admita  el uso de
  69. samples.  Lo que  hace es  realizar la transferencia según el standard  MIDI de
  70. transmisión  de  samples,  de forma  que cualquier  aparato que  soporte  dicho
  71. standard podrá  transmitir/recibir  samples  hacia/desde el Amiga utilizando el
  72. programa.  Por lo que  yo sé  ninguno  de los programas  comerciales  MIDI  que
  73. conozco soporta este tipo de transferencia.
  74.  
  75.  
  76.  
  77. STANDARD MIDI
  78.  
  79.    El standard MIDI de transferencia  de samples  (llamado también  Sample Dump
  80. Standard) divide el sample en packets (paquetes) de pequeño tamaño (127 bytes),
  81. enviando los packets de forma consecutiva via interface MIDI. Esto ralentiza la
  82. transmisión,  ya que de  cada packet  solo  120 bytes son de datos reales  y el
  83. resto (7 bytes)  son de control, pero permite  que la corrección de errores sea
  84. mucho más rápida,  ya que si la  transferencia falla  en algún momento se puede
  85. solicitar a la fuente de datos que repita el packet incorrecto,  y posteriores,
  86. en vez de tener que reanudar la transferencia desde el principio.
  87.  
  88.    Las características del standard son:
  89.  
  90.    - Tamaño máximo del sample: 2 millones de unidades de sampleado
  91.    - Resolución del sample: 8, 12 o 16 bits
  92.    - Los samples se pueden transferir por el canal que se desee (1 a 16)
  93.    - Transmisión del margen del sample utilizado para la repetición (loop)
  94.    - Tipo de repetición definible (ninguna,normal o alternada)
  95.    - Control del centrado del sample en el teclado (periodo)
  96.  
  97.    Respecto al periodo,  no he podido saber  como se calcula por  que en manual
  98. del SY85  no da  ninguna  información  sobre  este  parámetro.  Si dispones  de
  99. alguna  información  a este  respecto  mándamela,  por  favor,  para  que pueda
  100. completar la implementación del standard en el programa.
  101.  
  102.    Luego viene lo del inicio y final  de repetición (loop). Aqui parece que hay
  103. algo extraño en cuanto a  los valores que  puede tomar. Cuando la repetición se
  104. hace con todo  el sample (un bucle  de repetición muy  corriente)  el inicio de
  105. loop toma el  valor 0,  pero el  final  de loop  toma  como valor el tamaño del
  106. sample, cuando  en teoria debería  ser el tamaño del sample MENOS 1. Esto se ve
  107. claramente en un sample de tamaño 5 (por ejemplo), donde el inicio de loop toma
  108. el valor 0 y el  fin de loop el valor 5.  Según esto resulta que el loop es mas
  109. largo que el propio sample, ya que tenemos las posiciones de sample 0, 1, 2, 3,
  110. 4 y 5, que es donde termina el loop,  o sea,  6 posiciones en total. Esto lo he
  111. comprobado en varios samples que venian con el SY85.  Tras hacer varias pruebas
  112. con samples  transmitidos  desde el Amiga  al SY85  he podido  comprobar que el
  113. final de loop no debe salir fuera del sample, ya que así se  producen ruidos al
  114. leer posiciones  de memoria que no corresponden  a las  ocupadas por el sample.
  115. Por esto el  programa limita  el loop a los valores  que deberian ser correctos
  116. (0 y longitud-1), con lo que el loop funciona perfectamente.
  117.  
  118.    El formato tiene  limitaciones, sobre todo cuando lo comparamos con formatos
  119. de tipo flexible, como el IFF, pero tiene la ventaja de ser un standard común a
  120. varias máquinas, además, es lo único que hay...
  121.  
  122.    Consulta el manual de tu equipo para más  detalles sobre este formato  MIDI,
  123. si es que está preparado para soportarlo.   Si no lo está, este  programa no te
  124. sirve de nada en absoluto (lo siento...).
  125.  
  126.    En el caso de  que tengas  información sobre este  standard  te  agradeceria
  127. mucho  que me  enviases  fotocopias  para poder  mejorar  la implementación del
  128. standard en el programa.
  129.  
  130.  
  131.  
  132. EL STANDARD EN EL PROGRAMA
  133.  
  134.    El  programa  puede  transmitir/recibir  samples via  MIDI usando el formato
  135. standard de packets. Las características son:
  136.  
  137.   Recepción:
  138.    - Canal de recepción seleccionable (1-16)
  139.    - Acepta cualquier resolución entre 8 y 21 bits.
  140.    - Al grabar el sample a disco se convierte siempre a RAW de 8 bits.
  141.    - Muestra todas las características del sample que se está recibiendo.
  142.    - Detección de errores de recepción, aunque no soporta aún la corrección
  143.      de errores, si no que la recepción se interrumpe en caso de error.
  144.    - Posibilidad de interrumpir la recepción.
  145.  
  146.   Transmisión:
  147.    - Canal de transmisión seleccionable (1-16), independiente del de recepción.
  148.    - Ajuste manual del loop (inicio, final y tipo) y del periodo.
  149.    - La transmisión es siempre de 8 bits.
  150.    - Posibilidad de interrumpir la transmisión.
  151.  
  152.    Algunas de las características del programa son un poco  primitivas debido a
  153. que mi información sobre el  standard MIDI  de  transmisión de samples parte de
  154. la  poca (muy poca..)  información que  se dá en el  manual  del SY85,  y de un
  155. montón   de   pruebas   realizadas   sobre   dicho   sintetizador.  Además,  la
  156. implementación del standard en el SY85 no es completa,  aunque funciona bastate
  157. bién,  por lo que no he  podido experimentar  con todas  las posibilidades  del
  158. standard.
  159.  
  160.    Por otro lado el  programa solo admite  grabar  samples  en formato RAW de 8
  161. bits pero se le  ha añadido la  posibilidad de cargarlos  en RAW o en IFF  para
  162. poder aprovechar los datos de loop que se incluyen en el formato IFF.  Por otro
  163. lado me gustaria  añadir  la grabación  en IFF pero para ello  necesito un poco
  164. más de información  sobre  el formato  8SVX  y  sobre la  IFFParse.library  del
  165. sistema operativo.
  166.  
  167.  
  168.  
  169. ARRANQUE DEL PROGRAMA
  170.  
  171.    Desde la versión 1.2a ya no es  estrictamente necesario arrancar el programa
  172. desde el WorkBench. Si lo arrancas desde el SHELL el programa se "despegará" de
  173. la ventana del SHELL (como ya hacia antes), y entonces buscará el icono,  junto
  174. al ejecutable, para leer las opciones que se encuentran en éste.
  175.  
  176.    Desde la  versión 2.0 el programa  es una commodity.  Es además una ventana,
  177. que  usará  la  fuente  por  defecto  del  sistema  (que se  selecciona  en las
  178. preferencias 'Font'),  adaptando el  tamaño de  la ventana y  su  contenido  al
  179. tamaño de la fuente  (buena  parte de esta  posibilidad  es gracias al programa
  180. GadToolsBox de Jan van den Baard). La ventana es, además, una AppWindow, por lo
  181. que puedes lanzar iconos dentro de  la ventana para cargar samples de una forma
  182. mucho más cómoda.
  183.  
  184.    Desde la versión 2.0 el programa aloja el puerto serie solo en el momento de
  185. transmitir/recibir,  dejándolo libre para que lo usen  otros programas el resto
  186. del tiempo. Si el puerto está ocupado en el momento de alojarlo el programa nos
  187. lo comunicará,  mostrando el nombre entregado por el  programa que  actualmente
  188. utiliza el puerto serie.  También  se usa el  audio.device  para  reproducir el
  189. sample de forma legal.
  190.  
  191.    Cuidado con los programas que acceden al port serie a lo bestia, sin pedirlo
  192. al sistema operativo, ya que se podría producir un conflicto serio,  sobre todo
  193. durante la transmisión, y el sintetizador podria ponerse histérico.  Un ejemplo
  194. de ésto es el secuenciador Dr T's KCS, que accede al port serie sin mirar antes
  195. si ya hay alguien utilizándolo (enhorabuena al programador...). En caso de usar
  196. el Dr T's KCS, procura que no estén nunca en marcha al mismo tiempo el MPMaster
  197. y el secuenciador. Por otro lado,  este es el único caso de este tipo que me he
  198. encontrado,  ya que incluso el  Protracker 2.3 aloja de  forma 'legal'  el port
  199. serie para leer la entrada MIDI.
  200.  
  201.    Si hay  algún  problema al arrancar  el programa,  éste lo comunicará con un
  202. requester y volverá al sistema operativo.
  203.  
  204.    Las ToolTypes que se pueden meter en el icono son:
  205.  
  206.     WB_REQUESTER    Con esto le indicamos al programa que queremos que 
  207.             abra el requester  de ficheros en  la pantalla del
  208.             WorkBench, en lugar de la del propio programa.
  209.             
  210.     PATTERN=    Le  indicamos  el  pattern   (plantilla)  para  el
  211.             requester.  Consulta el manual del ordenador sobre
  212.             el uso de plantillas de fichero.
  213.             
  214.     DIR=        Indica en  que  directorio  queremos  que  se abra
  215.             inicialmente el requester de grabar/cargar sample.
  216.             Esto es util  para  dirigirlo  al  directorio  del
  217.             disco duro donde guardas  normalmente los samples,
  218.             y no tener que meter cada vez el path.
  219.             
  220.     FREC=        Fija la frecuencia por defecto para samples RAW.
  221.     
  222.     MAXFREC=    Fija  la frecuencia  de reproducción máxima que se
  223.             puede utilizar.  En los chips OCS/ECS el máximo es
  224.             de 28867 Hz pero prefiero que se pueda cambiar por
  225.             si salen modelos que admitan mayores frecuencias.
  226.             
  227.     PUBSCREEN=    Nombre de la  pantalla pública donde  debe abrirse
  228.             la ventana del programa. En caso de no poder abrir
  229.             la ventana en la pantalla especificada,  se abrirá
  230.             en la pantalla pública por defecto (normalmente es
  231.             la pantalla del WorkBench).
  232.             
  233.     GRABSCREEN=    Es como PUBSCREEN pero para pantallas NO PUBLICAS.
  234.             En esta tooltype debemos  especificar los primeros
  235.             caracteres del nombre de la pantalla, coincidiendo
  236.             las mayúsculas  y minúsculas.  ESTA POSIBILIDAD ES
  237.             PELIGROSA,  debido a que nos  estamos  metiendo en
  238.             una pantalla  que no está  preparada para  recibir
  239.             ventanas exteriores, por lo que las  consecuencias
  240.             pueden ser minimas  o simplemente desastrosas.  Lo
  241.             más  importante  es que  la pantalla  no se cierre
  242.             nunca con el  MPMaster en marcha,  ya que entonces
  243.             el programa quedaria en  estado de "espera eterna"
  244.             de los  mensajes de los  gadgets que  ya no están.
  245.             Esta  opción  fué  añadida  para  poder  abrir  el
  246.             programa sobre la pantalla de OctaMED.
  247.             
  248.     LABELx=        Siendo x una cifra de 1 a 16,  asignamos un nombre
  249.             al canal cuyo numero hemos especificado,  para que
  250.             se  muestre  con  este nombre  en las  ventanas de
  251.             selección  de  canales.  De  esta  forma  se puede
  252.             asignar     un canal  a  cada  dispositivo  MIDI  que
  253.             usamos y  poner entonces  su nombre al canal en el
  254.             MPMaster.
  255.             
  256.     CX_POPUP=    Poner NO si no  se quiere que el  programa abra la
  257.             ventana  nada más  arrancar,  esperando a  que  se
  258.             pulse  la  hotkey  de   commodity  para  abrir  la
  259.             ventana.
  260.             
  261.     CX_PRIORITY=    Prioridad del programa en la lista de commodities.
  262.     
  263.     CX_POPKEY=    Combinación     de      teclas      que      hacen
  264.             aparecer/desaparecer la ventana del programa.  Por
  265.             defecto  es CTRL + ALT + m.  Si la  combinación de
  266.             teclas es ilegal  el programa mostrará  el mensaje
  267.             "¡¡No puedo añadirme a la lista de commodities!!".
  268.     
  269.    La opción de abrir el requester de  ficheros en el WorkBench  es de utilidad
  270. solo cuando dispones de un requester que además es una AppWindow, o sea, que se
  271. le  pueden tirar iconos dentro.  Por ejemplo,  el requester de  ficheros  de la
  272. reqtools.library, o el de la asl.library del WorkBench 3.0. En caso de que uses
  273. la  versión  2.04 del sistema  operativo,  el requester no es  AppWindow,  pero
  274. puedes utilizar un parche para substituir el requester de la asl.library por el
  275. de la reqtools.library, que es muchísimo mejor.
  276.  
  277.  
  278.  
  279. VENTANA DEL PROGRAMA
  280.    
  281.    Desde la versión 2.0 el programa consiste en una ventana. Se han unido  las
  282. antiguas  zonas en  que se dividia  la  pantalla  del programa. La ventana  se
  283. forma de:
  284.  
  285.  
  286.  CAJAS INFORMATIVAS: Nos dan información sobre el sample recibido/seleccionado:
  287.    
  288.    Fichero.- Muestra el nombre del sample seleccionado para transmitir.
  289.    
  290.    Tamaño.- Indica el tamaño, en unidades de sampleado, del sample de 8 bits
  291.      seleccionado/recibido.
  292.    
  293.    Bits.-  Nro de bits de cada unidad  del sample seleccionado (siempre 8) o
  294.      recibido (8, 12 o 16 bits), aunque al recibir, el sample pasa siempre a
  295.      8 bits.
  296.    
  297.    (Onda).- Es la caja grande de abajo a la izquierda. Al hacer Play muestra
  298.      la forma aproximada del sample.
  299.      
  300.    (Canal recibido).- Es la caja que está justo debajo del gadget RECIBIR, y
  301.      muestra  el canal por el que hemos recibido el  sample que se encuentra
  302.      actualmente en memoria (muy util cuando el canal de entrada es OMNI).
  303.  
  304.    (Mensajes de estado).- Es la caja que se encuentra  debajo de los gadgets
  305.      'Salvar...' y 'STOP!!',  y nos muestra mensajes del programa referentes
  306.      a la última acción realizada.
  307.      
  308.      
  309.  GADGETS DE ACCION:
  310.    
  311.    Selec.-  Abre el requester  de ficheros  para que puedas  seleccionar  el
  312.      sample que quieres transmitir.  Debe ser un sample RAW o IFF de 8 bits.
  313.      Una vez  seleccionado el sample,  los gadgets  se pondrán  en  el valor
  314.      adecuado,  mostrando así la  longitud del sample,  el numero de packets
  315.      que  ocupa,  y  fijando   el Inicio  y  Fin  de  repetición  a  valores
  316.      adecuados. También puedes seleccionar un sample lanzando su icono en la
  317.      ventana del  programa.  Si el icono es de  un fichero,  se seleccionará
  318.      éste como sample para transmitir.  Si, por el contrario, es el icono de
  319.      un cajón o disco,  se abrirá el  requester de ficheros  mostrando ya el
  320.      contenido de dicho cajón/disco.
  321.      
  322.    Waveform.- Esto deberia fijar el numero de sample que se le asigna dentro
  323.      del  sintetizador  al sample  que  transmitimos.  La  función  de  este
  324.      parámetro  depende  del  sintetizador.  En el caso del SY85, este valor
  325.      fija en que  WAVEFORM  se meterá el sample,  ya que cada WAVEFORM puede
  326.      contener varios samples y se pueden asignar después a diferentes partes
  327.      del teclado.
  328.      
  329.    Inicio, Fin y Tipo (de repetición).- Estos son los parámetros que definen
  330.      el loop (repetición),  o sea,  margen de repetición y tipo (off, normal
  331.      o alternada).
  332.      
  333.    Play.-  Reproduce el  sample  actualmente  seleccionado/recibido,  si hay
  334.      suficiente memoria CHIP disponible.
  335.    
  336.    Stop.-  Interrumpe la reproducción del sample.  La barra the espacio hace
  337.      lo mismo.
  338.    
  339.    Borrar!.-  Elimina  de  memoria el sample recibido,  o descarta el sample
  340.      seleccionado  para  transmitir,  dejando la ventana  del programa en el
  341.      estado  inicial  en  el  que se  encuentra  al  arrancar  el  programa,
  342.      excepto la selección de canales. Esta acción se efectua automáticamente
  343.      cuando pulsas la 'hotkey' para esconder la ventana del programa.
  344.    
  345.    Hz.- Controla la frecuencia de reproducción del sample al pulsar sobre el
  346.      gadget 'Play'.
  347.    
  348.    MIDI IN y MIDI OUT.-  Estas  listas  de  selección  permiten  elegir  los
  349.      canales  a usar para  transmitir/recibir.  Si se han asignado nombres a
  350.      los canales, estos aparecerán en la lista junto al numero de canal.  En
  351.      la selección de canal de recepción (MIDI IN) la opción OMNI nos permite
  352.      recibir samples de cuelquier canal.
  353.  
  354.    TRANSMITIR.- Transmite  el  sample  actualmente  seleccionado.  Se  puede
  355.      interrumpir con el gadget STOP!!. En el momento de transmitir el sample
  356.      el programa no lo carga en  memoria  completo  si no que va cargando la
  357.      porción que necesita transmitir en cada momento.  Esto significa que la
  358.      memoria  disponible no limita el tamaño  máximo del sample que se puede
  359.      transmitir, si no que el límite lo fija el standard (2 Megas).  Durante
  360.      la transmisión se puede ver en la ventana  de  transmisión el numero de
  361.      packets que quedan por enviar.
  362.      
  363.    RECIBIR.-  El  programa se queda  esperando que se le transmita un sample
  364.      desde el exterior. Se puede interrumpir con el gadget STOP!!. El sample
  365.      se recibirá en memoria, convirtiéndolo a formato 8 bits a medida que se
  366.      va recibiendo.
  367.      
  368.    Salvar... .-  Si  hay  un  sample  en  memoria  (recibido) se  abrirá  el
  369.      requester de ficheros para que introduzcas el nombre con el que quieres
  370.      salvar el sample,  y en que directorio.  Se salvará en formato RAW de 8
  371.      bits.
  372.    
  373.    STOP!!.- Interrumpe las operaciones de transmisión y recepción.
  374.    
  375.    En  versiones  inferiores  a la  3.0 del  sistema  operativo,  durante la
  376. transmisión/recepción  se activa el gadget STOP!! y se  desactivan todos los
  377. demás  gadgets de la  ventana  menos las dos listas de selección de canales,
  378. ya que en la versión  2.04 del sistema no  se pueden desactivar este tipo de
  379. gadgets (en  la versión 3.0 si se puede). De todas formas, aunque durante la
  380. transmisión/recepción  modifiques la selección de canales,  al  terminar  la
  381. transferencia  el programa  pondrá la selección de canales como estaba antes
  382. de empezarla.
  383.  
  384.    Durante  transmisión/recepción/reproducción de sample los iconos lanzados
  385. en la ventana y los mensajes de commodity recibidos serán descartados.
  386.  
  387.   
  388.  
  389. MENUS Y TECLADO
  390.  
  391.    Todos los gadgets que tienen una letra  subrayada  significa que pulsando la
  392. tecla  correspondiente  a esa  letra es  como  si  pulsáramos  el  gadget,  sin
  393. necesidad de tocar el ratón para nada. Además, la tecla SPACE equivale a pulsar
  394. el  gadget  STOP!!,  o sea que  interrumpe la  transmisión/recepción  en curso.
  395. También  tenemos la tecla HELP, que mostrará el requester de 'Acerca de...', la
  396. tecla ESCAPE, con la que  salimos del programa,  y la tecla TAB, que selecciona
  397. el primer gadget  numérico de la pantalla para poder  modificarlo sin tener que
  398. seleccionarlo  con el ratón.  Mientras  estás  modificando un  gadget  numérico
  399. puedes  pulsar TAB para  pasar al siguiente  gadget numérico, o Shift+TAB  para
  400. pasar  al anterior.  En este punto  hay un problema, y es que cuando  entras un
  401. valor en el gadget 'Loop start' (o 'Loop end') y el programa tiene que corregir
  402. el  otro valor  del loop,  el corregir  dicho gadget  lo desactiva,  por lo que
  403. tendrás que seleccionar el gadget (o pulsar TAB) para poder modificarlo. Parece
  404. que esto  es una interferencia que  se hace el  sistema  operativo a si  mismo.
  405. Ignoro si en versiones posteriores del sistema (2.1 y 3.0) esto sigue así. Para
  406. comprobar esto  selecciona el gadget 'Loop start',  entra un valor mayor que el
  407. que está en 'Loop end' y pulsa TAB, verás lo que pasa.
  408.  
  409.    Con  los  cursores  arriba  y  abajo  puedes  cambiar  el  canal  de  salida
  410. seleccionado.  Con los cursores derecho e izquierdo  puedes hacer lo mismo para
  411. el canal de entrada.
  412.  
  413.    Por otro lado está el menú del programa,  aunque todo lo que está en el menú
  414. se puede hacer desde teclado o pulsando los gadgets adecuados.
  415.  
  416.  
  417.  
  418. CUESTIONES TECNICAS (Apología del ensamblador...)
  419.  
  420.    Este  programa  ha  sido escrito  INTEGRAMENTE  en  ensamblador  con  código
  421. 'legal', o sea, siguiendo las normas del sistema operativo. Es muy estable,  ya
  422. que no se ha colgado nunca en operación normal,  y permite multitarea completa,
  423. sin problemas de velocidad ni siquiera en un Amiga 500 normal. Lo he probado en
  424. un Amiga 4000/030 y no ha dado ningún problema,  ni con el procesador ni con el
  425. sistema operativo 3.0.
  426.  
  427.    Programado  sobre  un  Amiga 500 Plus  con  2 Megas  de RAM,  3  disqueteras
  428. y el  ensamblador  Devpac 3.02.  Este  es el segundo programa completo que hago
  429. en ensamblador,  y el primero que utiliza el sistema operativo,  y es mucho más
  430. fácil de lo que parece.
  431.  
  432.    Programa realizado inicialmente para transferir samples entre un Amiga 500 y
  433. un  sintetizador  Yamaha SY85.  Primero  intenté  utilizar  la MIDI.library  de
  434. dominio público,  pero es tan extremadamente  lenta  que el  ordenador  quedaba
  435. literalmente 'congelado' mientras recibia los datos del sample. Con el MPMaster
  436. la multitarea es total,  con lo que puedes tener varios programas en marcha sin
  437. problemas. El programa está realizado de manera que sea casi imposible que haya
  438. problemas por falta  de velocidad en  entornos multitarea muy cargados. Durante
  439. una transmisión, por ejemplo, el programa solo ocupa un 15% del tiempo total de
  440. procesador en mi Amiga 500 Plus.  Durante la recepción, por otro lado, ocupa un
  441. 3% del  tiempo  de procesador  en un  Amiga  500 normal.  En los  dos casos  el
  442. ordenador   tiene   conectada   memoria   FAST   externa  (1  Mega  y  4  Megas
  443. respectivamente).  Solo  pueden  surgir  problemas  durante  la  recepción  con
  444. programas que desactivan las interrupciones del port serie (acción 'ilegal') ya
  445. que entonces el  ordenador no  puede recoger  los datos suficientemente rápido.
  446. Este problema se presenta solo en ocasiones excepcionales.
  447.  
  448.    Desde la versión 2.0 el programa aprovecha  algunas mejoras del sistema 3.0,
  449. cuando  está presente.  Es,  además,  una AppWindow  (se le pueden tirar iconos
  450. dentro)  y una commodity.  Además,  como el programa es una ventana,  se  puede
  451. abrir en cualquier pantalla pública (o no pública mediante  procedimientos poco
  452. legales)  y se puede  'encoger' la  ventana para  que no moleste.  Mira  en  el
  453. fichero MPMaster.HISTORIA para detalles técnicos.
  454.    
  455.    La versión 2.0 ha sido  programada sobre un Amiga 1200,  con 3 disqueteras y
  456. un disco duro de 3.5 pulgadas y 85 MegaBytes  (sigo usando el comodísimo Devpac
  457. 3.02,  aunque ya le he  encontrado unos  cuantos  errores).  Sigo  probando  el
  458. programa regularmente sobre mi viejo Amiga 500 Plus para mantenerlo  compatible
  459. con 2.04 (para probar la transmisión/recepción conecto el 500+ y el 1200 por el
  460. puerto serie y transfiero samples entre ellos, ya que no tengo sintetizador).
  461.  
  462.    La ventana del  programa ha sido  diseñada con el utilísimo GadToolsBox,  de
  463. Jan van den Baard.
  464.  
  465.  
  466.  
  467. MEJORAS A REALIZAR
  468.  
  469.    Lista de mejoras que quiero realizar:
  470.    
  471.    - Poder transmitir y recibir al mismo tiempo.
  472.    - Recibir directamente hacia disco duro, evitando así las limitaciones de
  473.      memoria.
  474.    - Añadir puerto  AREXX al programa  de forma que se pueda controlar desde
  475.      otra aplicación,  o  que  se puedan  controlar otros programas desde el
  476.      MPMaster.
  477.    - Poder cambiar la velocidad de puerto serie por si en algún momento sale
  478.      el esperadísimo standard MIDI de alta velocidad.
  479.    - Soporte para la  powerpacker.library  y XPKmaster.library,  para  poder
  480.      comprimir  y descomprimir los samples.
  481.    - Soporte para samples IFF y otros formatos (de 8 o más bits).
  482.    - Soporte para compresión Fibonacci en samples IFF.
  483.    - Grabar  iconos,  junto  con  los samples,  conteniendo  la  información
  484.      recibida del equipo MIDI sobre loop, periodo, etc...
  485.    - Incluir help interactivo (si hay alguien que le parezca dificil usar el
  486.      programa).
  487.    - Uso opcional de los mensajes de corrección de errores MIDI.
  488.    - Edición gráfica del loop.
  489.    - Soporte multilengua mediante la locale.library.
  490.  
  491.    De todas formas no estoy seguro de cuando podré realizar estas mejoras, o si
  492. las  realizaré  alguna vez, ya que dependen  mucho de la información  que pueda
  493. conseguir sobre  formatos, sistema operativo, etc...,  y de que alguien muestre
  494. interés por que se realicen  estas mejoras  (¡No voy a  mejorar el  programa si
  495. resulta que nadie lo usa!).
  496.  
  497.    Animo al que le  interese  que se  mejore el programa a que me  escriba para
  498. comunicarme sus ideas y sugerencias sobre el programa.
  499.    
  500.    
  501.    
  502. AGRADECIMIENTOS
  503.  
  504.    Mis más sinceros agradecimientos:
  505.    
  506.    - a Fco Javier Cocaña Galán, Leonardo Cocaña Galán y Juan A. Estela Valín
  507.      por su amistad, y por sus constantes sugerencias (y feroces críticas).
  508.    - a Commodore-Amiga Inc por crear el mejor ordenador del mundo.
  509.    - a Motorola por sus excelentes microprocesadores, fáciles de programar y
  510.      extremadamente flexibles.
  511.    - a Nico François por crear la fantástica reqtools.library.
  512.    - a Jan van den Baard por el utilísimo GadToolsBox.
  513.    - a IBM y Atari por crear  unos ordenadores  tan malos y facilitar así mi
  514.      elección por el Amiga (muchiiisimas gracias).
  515.  
  516.  
  517.  
  518. PARA CONTACTAR
  519.  
  520.    Te agradeceria que  me enviases toda  información que me pueda ser útil para
  521. ampliar  la potencia  del  programa, como por ejemplo, información  sobre otros
  522. formatos de fichero  de samples (de 8 o más bits), sobre la  implementación del
  523. standard MIDI de samples sobre otros equipos MIDI que no sean el Yamaha SY85, o
  524. simplemente para saber yo con que equipos funciona bién el programa.
  525.  
  526.    Para enviar sugerencias, informar de errores, intercambiar información, etc,
  527. contacta conmigo en esta dirección:
  528.  
  529.  
  530.                  Antonio J. Pomar Rosselló
  531.                C/ Alférez Cerdá  nº 13-bajos
  532.                   Palma de Mallorca 07014
  533.                      Baleares (España)
  534.  
  535.  
  536. Palma de Mallorca  16-Junio-1994
  537.